約 2,448,672 件
https://w.atwiki.jp/battle-operation/pages/1371.html
このページは何? Pingとは? Pingを打つことでわかること計測先について 計り方PCで測る:コマンドを打つ地域毎にサーバーを指定する 地域別サーバー一覧(ntp等) PCで測る:計測サイトを利用 PS3で測る:計測サイトを利用 結果はどう判断すれば良いの? 自分のネットワーク環境を調べる Ping値計測結果報告 このページは何? ネットワーク環境のラグ度合を測る指標の一つである Ping値 の測り方とその報告用のページです. Pingとは? pingはネットワークの状態を知るための通信ソフトウェアの一つです. 通信したい相手ホストへ呼びかけて,その返事が返ってくるまでの時間を計測します. 潜水艦がエコーを打ち,その音が帰ってくるまでの時間で敵船の情報を知るアクティブソナー(ピンガー)に似ています. Pingを打つことでわかること Ping値相手ホストと通信が完了するまでの ラグ です 単位は時間[ms]. 値が大きければ大きいほどラグがあるということです 詳しくは「対象ノード間のラウンドトリップタイム:RTT」といいます. パケットロス率通信失敗率のことです Ping値が小さくてもパケットロス率が高いと通信に失敗する確率が高くなり,ラグが増えます. ジッター率Ping値を複数回計測した時の揺らぎです ジッターが大きいとその通信環境が不安定であることを示します. 計測先について 自分とホストの地域が変わると距離が変わるため,ping値も変わってきます. 良く一緒にプレイするホストの地域がわかっているのであれば,その地域のサーバーを指定することでより正確なPING値を測ることが出来ます. 計り方 出来ればPCを用意して下さい.PS3では計測方法が限られます. 2015/3/8現在,計測サイトには適当なサーバーが登録されていないため コマンドプロンプト による計測を推奨. PCで測る:コマンドを打つ コマンドプロンプトを表示します.【スタートボタン】-【プログラムとファイルの検索】で【cmd.exe】と入力すれば出てきます. コマンドプロンプトに以下のコマンドをどちらか入力します ping 216.58.200.163 ping google.co.jp 画像の様にpingを4回繰り返し, パケットロス率(損失) と Ping値(ラウンドトリップの概算時間) の平均値が表示されます. 地域毎にサーバーを指定する 自分とホストの地域が変わると距離が変わるため,ping値も変わってきます. 良く一緒にプレイするホストの地域がわかっているのであれば,その地域のサーバーを指定することでより正確なPING値を測ることが出来ます. 地域別サーバー一覧(ntp等) 地域(大学名) IPアドレス google(鯖位置不明) 216.58.200.163 北海道大 133.87.1.18 東北大 130.34.11.117 会津大 163.143.1.1 東京サーバー 210.253.208.29 東大 130.69.251.23 名大 192.50.56.9 大阪大 133.1.84.4 広島大 133.41.4.1 九州大 133.5.6.1 PCで測る:計測サイトを利用 PING値計測(PC用) 注意:Tokyoサーバが消えたため非推奨.別節で説明しているコマンドプロンプトによる計測をおすすめします. ブラウザを用意して下さい.※:Adobe Flash Version 10以上がインストールされている必要があります PING値計測(PC用) にアクセスします. Fussa-shi のサーバをクリックします現在登録があるのはFussa-shi(Allied Telesis),Tokyo(Telin), Ishikari , Chatan の4箇所のみのようです. Tokyo(Telin)サーバーはPing値が以上に高いため非推奨 Suzuka は消失 4.表示されたPing [ms]がPing値です. PS3で測る:計測サイトを利用 PING値計測(PS3用) ※海外サーバーのため意味のある計測が出来るかどうかは疑わしい. 1.ブラウザを立ち上げます 2. PING値計測(PS3用) にアクセスします. 3.虫眼鏡を使って韓国を表示します 4. Seoul のサーバをクリックします 5.表示されたPing [ms]がPing値です. 結果はどう判断すれば良いの? 国内 20ms以下:優秀 国内 50ms前後:ラグい 国内 70ms以上:アカン 自分のネットワーク環境を調べる 下記サイトで自分のIPアドレスやプロバイダ情報を調べることが出来ます. http //www.cman.jp/network/support/go_access.cgi Ping値計測結果報告 テンプレ【アンテナ本数:】【通信環境:光有線/無線/ADSL有線/ADSL無線/モバイル】【計測:PC/PS3】【サーバ:東京/ソウル】【Ping値: 】【下り:M】【上り:M】【備考:(プロバイダ等)】 報告例【アンテナ本数:5】【通信環境:光有線】【計測:PC】【サーバ:東京】【Ping値:21】【下り:50M】【上り:20M】【備考:ヘカトンケイルから接続】 過去ログ 1 名前 九州大学のIPアドレスにpingを送っても帰ってこないですね。 IPアドレスが変更になったか、ICMPのポートが閉じられているのでしょうかね。 - 名無しさん 2016-03-14 03 44 23 【通信環境:光有線】【計測:PC】 【サーバ:東京】【Ping値:13ms】【下り:523.89Mb/s】【上り:694.43Mb/s】ホント低回線有利のゲームだね - 名無しさん 2015-07-29 13 30 35 沖縄在住だとやっぱり「アカン」になってしまう。はぁ… - 名無しさん 2015-07-10 14 22 23 ps3で測るとソウルの項目が出ないんだけどこういう場合はどしたらいいの? - 名無しさん 2015-05-21 12 54 20 阪大でTTL52最小3ms最大5ms平均3msだったのですが、msがping値というものなのでしょうか? - 名無しさん 2015-05-16 18 17 30 当方東京都、192.168.1.1→1msc、google.co.jp→6ms,google.com→6ms,yahoo.co.jp→8ms、ここに載っているもの、東京鯖210.253.208.29→8ms,九州鯖133.5.6.1→26ms,北海道鯖133.87.1.18→24ms。おまけ、box.com→128ms、dropbox→109ms - 名無しさん 2015-05-10 04 12 11 選択肢から消えたサーバー等,記載を修正しました. - 伏流 2015-01-30 13 03 00 北大 27ms 東北大 タイムアウト 東大 13ms 名大 16ms 阪大 15ms 広大 23ms 九大 26ms 滋賀県草津市フレッツ光隼HSホームタイプ(ISP Yahoo!BB) - Walther 2015-01-30 12 45 20 試してみましたが、地域が遠いほどラグくなるのがハッキリわかりますね。 本当に近いところなら9~10程度、遠いところにすると40以上になりますね。ちなみにバトオペは安定して5本の光回線です。 - 名無しさん 2015-01-29 02 05 05 東京サーバーが選択肢から消えていますね。代わりに日本の中心と言われる鈴鹿と、日本の両端である沖縄と北海道サーバーが選択肢にありました。 【測定結果】 【アンテナ本数:5(バトオペ内)】 【通信環境:光有線】【計測:PC】 【サーバ:鈴鹿(日本の真ん中らへん)】【Ping値:20ms】【下り:91.53Mb/s】【上り:94.34Mb/s】【】 【サーバ:北谷(沖縄)】【Ping値:31ms】【下り:93.76Mb/s】【上り:94.96Mb/s】】 【 【サーバ:石狩(北海道)】【Ping値:27ms】【下り:87.77Mb/s】【上り:91.08Mb/s】】 【備考:生息地帯は京都府。pcにはcat6a、ルーターからモデムへはcat6を使用、ルーターとモデムの線をcat7に変更予定】 - cccc 2015-01-25 08 32 38 コマンドプロンプトでの計測は 【北海道】最小=24ms 最大=25ms 平均=24ms 【東京】最小=11ms 最大=12ms 平均=11ms 【大阪】最小=12ms 最大=13ms 平均=12ms 【九州】最小=23ms 最大=24ms 平均=23msでした。 - cccc 2015-01-25 08 34 17 【アンテナ本数:5】【通信環境:モバイルwimax2+】【計測:PC】【サーバ:東京】【Ping値:60 】【下り:55.96M】【上り:3.47M】【備考:】 - 名無しさん 2015-01-18 23 01 50 初期に設定されてるフィリピンからしたらping、下り共に150以上...アカン - 名無しさん 2015-01-07 12 17 37 【アンテナ本数:5】【通信環境:光有線】【計測:PC】【サーバ:suzuka】【Ping値:21】【下り:567M】【上り:243M【備考:格闘機大会でラグいと言われたが相手の回線が問題ですね】 - 幸せのてんとう虫 2014-11-30 01 27 54 毎回計るごとにpingや上り下りが違うんですがこれは仕様ですか?連続で測ったとしてもping値10とか25とかになるんですが・・・ - 名無しさん 2014-10-15 17 24 21 あなたの通信環境(プロバイダ)が不安定なのでしょう。ジッターが高くないですか?うちは安定して19前後ですよ。 - 名無しさん 2014-10-15 17 27 00 昨日から何故かアンテナ1本なんですよね、PING計測をPCの方でしてみたら昨夜はなぜか発信場所が中国辺りになってるし上がりが0.69で下り15.35で問題ない気がするPS3の方はUDPのポート開いてるのになんででしょう - 名無しさん 2014-09-26 09 40 28 発信場所が中国ってのは良くわからんがVPN掘ってるの? http //www.cman.jp/network/support/ip.html で自分のIPアドレス調べればいい。 - 名無しさん 2014-09-26 09 43 24 ありがとうございます、何も変なことしてないはずなんですけどね。何故か今日は5本でしたそして発信場所は東京に^^; - 名無しさん 2014-09-26 15 15 02 【アンテナ本数:5】【通信環境:光有線】【計測:PC】【サーバ:東京】【Ping値:27 】【下り:20M】【上り:90M】【備考:So-net)】 - 9/22 so-net 2014-09-24 13 41 56 下りと上り逆じゃない?下りはダウンロード速度だからそっちの方がはやいはず。 - 名無しさん 2014-09-24 13 59 23 ご指摘ありがとうございます。再度演習場で出撃しながら計測しましたが、アップロードのほうが数字が大きくなりました。普通はダウンロードのほうが速いですよね・・・再)Ping28、DL24M、UL39M - 名無しさん 2014-09-24 14 35 06 出撃しながらって事は、バトオペ側の通信が速度計測に影響を及ぼしちゃうからね。スピードテスト以外になにも通信負荷がかかってない状態で計測した方がいいよ。 - 名無しさん 2014-09-24 14 38 55 再度ご指摘ありがとうございます。その後何度か計測しましたが、のぼりのほうが大きいことに変わりはありませんでした。 - 名無しさん 2014-09-24 14 55 25 OS何使ってる?MTUいじったら直るかもね - 名無しさん 2014-10-29 13 46 15 【アンテナ本数:5】【通信環境:光無線】【計測:PC】【サーバ:東京】【Ping値:29 】【備考:ocn あんまりラグは感じない】 - 名無しさん 2014-09-23 13 30 11 【アンテナ本数:5】【通信環境:光有線】【計測:PC】【サーバ:東京】【Ping値:29 】【備考:So-net】 - 名無しさん 2014-09-22 13 28 08 【アンテナ本数:5】【通信環境:光有線】【計測:PC】【サーバ:東京】【Ping値:14 】【備考:ocn】 - 名無しさん 2014-09-19 06 52 54 【アンテナ本数:0~5】【通信環境:光/無線】【計測:PC】【サーバ:東京】【Ping値:17 】【備考:PS3の方は優先でやってます。まぁ偶にラグいと感じる程度か】 - 名無しさん 2014-08-23 12 58 55 最新の20件を表示しています.全てのコメントを見る ▲トップに戻ります▲
https://w.atwiki.jp/pmyy/pages/45.html
PINGの話 PINGは低ければ低いほど良いです。あまりにも高いとラグが発生します。 10~40くらいまでは体感できないレベルだと思います。 PING改善策 ①無線LAN → 有線にする。 ②不要なアプリケーションをアンインストールする。 注)以下の方法はパソコンに詳しい人向けです(PINGが劇的に改善したという報告もありません僕もわかりません) ③QoSパケットスケジューラのチェックをはずす。 ④オフロードを無効にする ⑤SNP(Scalable Networking Pack)を無効にする ⑥RWIN値最適化 ⑥MTU値最適化 ⑦TCPグローバルパラメーター設定 PINGとは 「サーバーとの応答速度」です。 ネットサーフィンが早くてもPINGが高い可能性もあります。 PINGはサーバーとの距離にも影響を受けますし、自分のネット回線の内容(回線の種類、プロバイダ、ルーターなどなど)にも影響を受けます。 通信速度測定をして通信速度が低ければ、回線の契約を見直すことで改善が期待できます。(bpsとPINGは別物です。) 通信速度は高いけど・・・PINGが高い・・・・という人はサーバーの場所を調べて引っ越ししたらもしかしたら早くなるかもしれないですね。にっこり ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reference 1.http //intint000.blog96.fc2.com/blog-entry-444.html 2.http //latesanman.blog.fc2.com/blog-entry-45.html 合計: - 今日: - 昨日: -
https://w.atwiki.jp/enjoyps3/
2chオススメゲームスレまとめwiki ※一度に明らかな大改変やおすすめ表のタイトル削除をする場合は一言コメント希望 2chスレタイ検索 http //sirtuin.me/index.php?word=PS3%E3%80%80%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1 PS3 おすすめ一覧表 VITAおすすめはこちら ■HOT 今月発売ソフト一覧 よるのないくに ソフィーのアトリエ ニーア キングダムハーツ3 スターオーシャン5 FF7リメイク ■ACT 真・三國無双7【協】 バイオハザード6【協】 NINJA GAIDENΣ2 悪魔城ドラキュラHD【DL/協】 リトルビッグプラネット2【協】 キャッスルクラッシャーズ【DL/協】 RDR JUST CAUSE2 GoW3 龍が如く5 バットマンAA【試】 アサシンクリード2/BH ラチェットF2 PROTOTYPE GTA4 ライズフロムレア ■TPS inFAMOUS1/2 DEADSPACE1/2 ロストプラネット2【協】 アンチャーテッド1/2【試】 MGS4 ■FPS KILLZONE3【試】 ボーダーランズ【協】 CoDBO【協】 Battlefield3 バイオショック1/2 ■RPG シャイニングレゾナンス 英雄伝説 閃の軌跡 エスカ&ロジーのアトリエ/アーシャのアトリエ/トトリのアトリエ ファイナルファンタジー13/FF13-2/ライトニングリターンズ テイルズオブグレイセスf/ヴェスペリア/エクシリア2【試/協】 二ノ国 アルトネリコ3 ドラゴンエイジ オリジンズ エンドオブエタニティ ■ARPG ドラッグオンドラグーン3 キングダムハーツHD1.5Re SKYRIM ダークソウル ニーアレプリカント デモンズソウル オブリビオン Fallout3 ■SRPG 魔界戦記ディスガイア4 戦場のヴァルキュリア ■ADV STEINS;GATE ヘビーレイン【試】 428 ■レース グランツーリスモ5【協】 モーターストーム2 WipEoutHD Fury【DL/試】 バーンアウトパラダイス ■SLG R.U.S.E.(ルーズ)【試】 シビライゼーションR ■パズル ぷよぷよテトリス ポータル2【協】 Braid【DL】 ■格闘 ナルティメットストーム3 スーパーストリートファイター4AE(スパ4AE) BLAZBLUE CONTINUUM SHIFT EXTEND P4U 鉄拳タッグトーナメント2 DOA5U EXVS/EXVSFB ■SPT みんなのゴルフ6 実況パワフルプロ野球2012 プロ野球スピリッツ2012 MLB the show12 FIFA13 スケート2/3 ■その他 初音ミク -Project DIVA F- 初音ミク -Project DIVA- ドリーミーシアター extend【DL】 風ノ旅人/Flowery(フラアリー)【DL/試】 リマスター ■ACT ICO ワンダと巨像 MHP3rd HD【DL】 大神絶景版【DL】 【試】:PSストア体験版配信中の作品 【DL】:PSストア配信中作品 【協】:オフライン2人以上で協力プレイ可能 名前 ↓本スレで毎回好き勝手オススメリスト貼る奴が現れたからWIKIで管理しようって事になっただけのWIKIだからなぁ…レビューサイトへのリンク付けるくらいならできるけど - 名無しさん 2015-01-26 01 08 40 オススメでどこが面白味だとかコメントで書き込んでくれると助かる人もいると思うんだがなぁ。それが俺だけども。 - 名無し 2014-07-30 06 39 35 ↓7 いれておきました - 名無しさん 2014-06-09 17 00 35 EXVS/EXVSFBを追加しました - 名無しさん 2014-06-09 16 24 59 酷い詐欺リストだな。半分くらいは劣化版や見えている地雷じゃねぇか - 名無しさん 2014-03-08 19 41 18 お前個人だけでも半分以上あたりなら良いじゃねえかw - 名無しさん 2014-03-21 01 13 14 ACVDが入ってないなんて、と思ったけどおすすめか・・・なら致し方ない - 名無しさん 2014-02-07 12 45 24 廉価版の値段なら、良作というものもある - 名無しさん 2014-02-01 14 15 23 ceroZ指定のゲームは分けておけ - 名無しさん 2014-01-31 16 57 50 トトリもいれてくれよ - 名無しさん 2013-11-24 03 39 32 スレでも人気だったしかなり長く遊べる良作だしオブリビオン入れておいたけれど上の編集から誰でも追加できるからね! - 名無しさん 2013-09-22 21 44 32 ■全てのコメントを表示
https://w.atwiki.jp/ground12/pages/14.html
PS3の種類・値段 60G 生産中止 入手困難 現在中古で(オークション)で8万ぐらい・・ 20G 生産中止 入手困難 現在中古で(オークション)で5万弱・・・ 40G 生産継続 入手容易 現在新品で3万8000円ぐらい^^ 容量 60G 40G 20G PS3の性能 BD 1080p/1080i HDMI,AVマルチ,光デジタル 有線 (60G,20G) 無線 (60G,40G) PS2互換性 (60G,20G) Ps互換性 (40G) Hi-Speed USB 60G 4個 20G 4個 40G 2個
https://w.atwiki.jp/ps3vf2/pages/59.html
ネット対戦で重要なのは速度ではなく応答速度です。 ping(読み方はピンまたはピング)の速度を計測してみます。 無線よりは有線接続の方が安定してると思われます。 ※簡単な確認方法追記 PS3本体から設定 ネットワーク設定 インターネット接続テスト ここで上りと下りの速度が簡単に確認できます。 回線速度が下り20Mbps、上り5Mbps以上あるといい回線みたいです。 PS3を起動またはPSボタンを押し【ネットワーク→インターネットブラウザー】を選択。 ブラウザーが起動したら【△ボタンでメニューを表示→ファイル→アドレス入力】を選択。 以下のアドレスを入力【http //www.pingtest.net/】 サイトが表示されたら下のオレンジ色のサークルをドラッグしアメリカ西海岸辺りに合わせる。 青い星マークの中の【Los Angeles, CA】を選択すると測定が開始される。 ※なぜロサンゼルスかというと,PSNのサーバが近くにあるかららしい(サンディエゴ) 参考数値(この数値で大体の人と快適に対戦できてます) CATV ルーター→ハブ→有線接続 PS3 【Ping値】146ms 【Jitter】9ms PC 【Ping値】124ms 【Jitter】1ms 【Ping値】潜水艦が敵を探索するときに撃つ「ピコーン」という信号を目的地(ロサンゼルス)に撃って、 その信号が返ってくるまでの平均時間です。短いほど良いと言う事になります。 【Jitter】Pingを複数回打ったときのバラツキです。数字が小さいほど安定しているということになります。 VF2でどの程度の数字が出てどれぐらいで快適かわかっていないので 測定された方がいたらコメントして頂けると今後のデータになると思います。 その他のping測定方法 ここが有名ですがPS3ブラウザだと正常に表示されなかった http //www.speedtest.net/ DOS使う方法もありますがPS3ではできないのできないので気になる人はぐぐって下さい。 ラグはネット対戦だと必ずあります。 相手の回線状況や距離にも影響されるのでどうしようもない部分もあります。 自分でできることは有線接続、ルーター、プロバイダ、モニタ変えたりぐらいしかできません。 これがオンラインのVF2と納得するか、セガの神アップデートを期待するしかないです。 名前 コメント
https://w.atwiki.jp/ps3hack/pages/13.html
PS3 Swiss Army Knife PS3 Swiss Army Knife(以下PS3SAK)とは、PS3の他のシステム領域にインストールすることができるカスタムLinuxです。 ダウンロード先(他にもいくつかあります) PS3HACKS PS3SAKの機能 ・BDのファイルサイズ確認。 ・内蔵HDDのフォーマット。 ・外付けHDDのフォーマット。 ・BDのISOイメージを内蔵HDDに保存。 ・BDのISOイメージを外付けHDDに保存。 ・BDのISOイメージをネットワーク経由でPC上に保存。 ・内蔵HDDの他のOS領域のファイラー 。 ・BDのファイラー。 ・HTTPサーバ機能によりこれらの操作がPCのブラウザからできる。 主な用途としてはPS3のゲームの吸い出しです。 PS3のゲームはもちろんのことBDの映画なども吸い出すことができます。 導入方法 ①ダウンロードしたPS3SAKのbldファイルをUSBメモリやメモリースティックに入れる(/PS3/otheros/otheros.bld) ②PS3本体の設定→本体設定→他のシステムのインストールで自動的に実行→インストールされる。 ③設定→本体設定→優先起動システムで他のシステムに設定し再起動。 ちなみにPS3SAKも含め他のシステム領域にインストールするには、予めPS3のHDDをフォーマットし、そのときパーティションを設定することで他のシステム用に領域を作らなければなりません。 フォーマットするとPS3のHDDに保存しておいたデータは全て削除されてしまうので、消したくないデータはフォーマットするまえにバックアップをとっておきましょう。
https://w.atwiki.jp/ps3-cs/pages/169.html
ps3小技集 ここでは、説明書に載っていない小技や、載っているけど分かりづらい小技を紹介。 海外アカウント取得方法(PS3のハード情報 / ハードセットアップの補足など) HDD交換 HDMIフル設定ソフトウェア(簡易レビュー付き、ソフトウェアリスト) Linux 海外アカウント取得手順。- 北米版 - ※住所などを偽る事は当然規約違反なので、その辺をふまえてすべて自己責任でお願いします。 ※事前に用意する物 / PSNに登録していないメールアドレス(Yahoo/Google等何でもOK) 1.XMBの[ユーザー]-[新しいユーザーの作成]を選び、新しいユーザーを作る。 2.1 XMBの[PLAYSTATION Network]-[PLAYSTATION Networkにサインアップ]を選ぶ 2.2 「新規にアカウントを作成」を選びます 3.1 国/言語/生年月日を設定 アメリカ / English / 生年月日(一応自分と同じ物でやっています) 3.2 作成するアカウントの種類を選ぶ必ず「Master Account」を選ぶ事。 3.3 規約が表示されるので、Accept(同意する)を選ぶ。 4.1 メールアドレス/パスワードの登録。パスワードの保存のチェック(Remenber Password on Sign-In) 4.2 上記と同じ画面「Answer to Security Question」はパスワードを忘れたときのヒント。簡単な物を。 5.1 希望のオンラインIDを入力 ※パスワードと同じ、他人と重複しているもの、語句に問題のある物は不可能。 5.2 氏名 / 性別の入力 6. 住所の入力。 例 住所はアメリカ。 地域 New York 郵便番号 10012 地域と郵便番号が正しければ他をデタラメに入力して、とりあえずOKらしいです。 7.1 クレジット番号の入力。日本の物は使えないので「No thanks.」で。 7.2 アカウント情報一覧・登録内容の確認。 7.3 アカウント作成終了。(お疲れ様です) 8.1 アバター画像の選択 8.2 アンケート「No」で、今度こそ本当にすべて終了。 top HDD交換 top HDMI設定 top Linux
https://w.atwiki.jp/selflearn/pages/20.html
ここでは、pingコマンドのソースコードを調べ、まとめた内容を記録していきます。 開始日 2007年01月23日 最終更新日 2009年06月01日 はじめに 目標 pingソースを読むにあたって、それぞれ次のような目標で進めます。 kato「パケット送信~受信の流れを掴み、自分でもpingパケットの送受信ができるようになる。pingコマンドのオブションに詳しくなる」 ichi「コマンドオプションの取り扱いやパケット送受信の処理方法などの定石を知り身につける。各ファイルの意味・役割についてもしっかり理解する。C言語を思い出す:P」 使用ソースコード GNUソフトウェアinetutils-1.5を使用します。コンパイル・インストール方法はping(メモ)を参照してください。 TODO 進めていく中で、やること・やりたいことを書いてください。終わったら黒く塗りつぶすこと。必要に応じて細分化してもオッケーです。 ■ 指定可能なオプションの一覧作成 □ 各ファイルの用途をまとめる □ オプション未指定で起動したときの処理フローを調べる。関数コールの流れが分かると良い □ ping_echo.cの調査。他のソースはping_echo.cが終わってから □ パケット送信処理のルールを追う。ping_echo.cでのパケット生成~送信の流れをまとめる □ パケット受信処理のルールを追う。パケットの受信待ち~受信~情報取得~画面表示の流れをまとめる がんばりましょう。 外部インタフェース この章では外から見えるpingの振る舞いについて記述します。 そもそも、pingコマンドって何なの? ICMP ECHO_REQUESTパケットをネットワーク上のホストに送信するプログラムです。対象ホストが到達可能かどうかをテストします。 pingプログラムはICMPのECHO_REQUESTメッセージを送信し、ホストやゲートウェイから返信されるICMPのECHO_REPLYメッセージを受信します。ECHO_REQUESTメッセージはIPとICMPヘッダーを持っていて、送信した時刻(struct timeval)と指定したサイズぶんのパディングデータによって構成されています。(*1) 指定可能なオプション ※とりあえずping.8から抜粋。後でソースと比較し、きちんとまとめます。 オプション 処理(ロングオプション) -V --version バージョン情報を表示して終わる -L --license ライセンス情報を表示して終わる -h --help 使用方法を表示して終わる -c (count) --count ECHO_REQUESTの最大送信パケット数(またはECHO_REPLYを受信した数)で送信を止める -d --debug ソケットにSO_DEBUGオプションを付けて実行する -r --ignore-routing 通常の経路テーブルを無視(バイパス)し、接続されたネットワークのホストにダイレクトに送信する。もし対象ホストが接続されたネットワークに存在しない場合はエラーが返る。このオプションは(当該ホストへの)経路情報を持たないローカルホストに対して有効である。(e.g., after the interface was dropped by routed(8)). -s (size) --size ECHO_REQUESTパケットのサイズを指定する。デフォルトは56bytesで、これはICMPヘッダを含めるとちょうど64bytesになる。 -i (wait) --interval 各ECHO_REQUESTの送信間隔を秒で指定する。デフォルトは1秒。このオプションは-fと同時に設定することはできない。 -n --numeric IPアドレスを10進数表記により出力する。ホスト名をルックアップする処理は行わない。 -v --verbose 標準出力に対し情報を出来る限り出力する。ECHO_REPLY以外のICMPパケットも受信すれば出力する。 -t (type) --type ("echo"/"timestamp"/"address"/"router") ICMPのメッセージタイプを設定する。このオプションは次に示す3つのオプションのどれかを設定したときと同じ結果を生む - --echo ICMP echoメッセージを送信する(デフォルト動作) - --timestamp ICMP timestampメッセージを送信する - --address ICMP addressメッセージを送信する - --router ICMP router discoveryメッセージを送信する。現在は未対応 -f --flood 100回/秒かそれ以上のパケットを送信する、「pingの洪水(flood)」を発生させる。ECHO_REQUESTを送信するごとにピリオド「.」を1文字出力し、ECHO_REPLYが届くごとに削除する。したがって画面上に表示されたピリオドの数が破棄・消失したpingパケットの数として確認できる。このオプションはネットワークに対して強烈な負荷をかけるため、スーパーユーザーでのみ設定可能 -l (preload) --preload 通常のping送信処理に入る前に、preloadで指定した個数のECHO_REQUESTを出来るだけ早く送信する。preload={1,65535} -p (pattern) --pattern パディングする値を16進数で設定する。このオプションはデータが崩れる問題を抱えたネットワークで有効である。たとえば"-p ff"と設定した場合、ペイロード部のビットは1で埋められる。 -q --quiet 開始/終了時のサマリー以外情報を出力しないようにする。 -R --route pingパケットの通った経路を記録し表示する。ECHO_REQUESTにRECORD_ROUTEオプションをつけることで経路を記録していき、戻ってきたECHO_REPLYに含まれる情報を表示する。注意:IPヘッダに記録しておける最大経路数(9?)には注意すること。(残念ながら)多くのホスト・ルータではこのオプションを無視する。 出力情報の見方 送信中 # ping hoge_host PING hoge_host (192.168.0.3) 56 bytes of data. 64 bytes from 192.168.0.3 icmp_seq=1 ttl=64 time=0.114 ms 64 bytes from 192.168.0.3 icmp_seq=2 ttl=64 time=0.176 ms 64 bytes from 192.168.0.3 icmp_seq=3 ttl=64 time=0.170 ms まず、先頭の出力: PING hoge_host (192.168.0.3) 56 data bytes. は、「hoge_host(IPアドレスは192.168.0.3)に対しデータ長56バイトのECHO_REQUESTを送信する」という意味です。データ長はICMPヘッダとIPヘッダを除いたプリロード部のサイズを表します。 次の出力; 64 bytes from 192.168.0.3 icmp_seq=2 ttl=64 time=0.176 ms は、ECHO_REQUESTに対するECHO_REPLYパケットを受信する度に出力されていきます。 最初の「64bytes」は送信時と違いICMPヘッダ+データ部の合計を表示していることに注意してください。 「icmp_seq=X」はECHO_REQUESTに付けられたシーケンス番号であり、この値の連続性を見ることで、どのパケットが破棄されたかが分かります。 「ttl」はECHO_REPLYのttlフィールドの値を表します。この値はIPルーティングされるたびにデクリメントされるので、ECHO_REPLYが幾つルータを経由してきたかが分かります。言い換えると、ECHO_REQUESTがルータを経由した回数は分からないことを表しています。 「time」はECHO_REQUESTを送信してからECHO_REPLYを受信するまでに要した往復時間(Round Trip Time)を表示します。厳密には、 Start ECHO_REQUEST送信時にデータ部に付与しておいた時刻情報 End 情報を出力しようとしたときの現在時刻 を調べ、両者の差をRTTとして出力しています。なおWindowsのECHO_REQUESTパケットには時刻情報がセットされていないため、PC内部で時刻情報を管理・出力していると思われます。 一方、ECHO_REPLYがタイムアウト時間までに届かなかった場合は以下の情報が出力されます。 64 bytes from 192.168.0.1 Destination Host Unreachable(etc.) Vr HL TOS Len ID Flg off TTL Pro cks Src Dst Data 4 5 00 5400 0000 0 0040 40 01 9c02 192.168.0.1 192.168.0.60 エラーの理由と、送信したIPパケットの情報を出力します。 この後Ctrl+c(SIGINTシグナル)を入力するか、または-cで指定した個数のpingを送信完了すると以下のサマリー情報を出力して終了します。 --- hoge_host ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.120/0.259/0.659/0.231 ms # 上記は 「10パケットを送信したうち10パケット受信し、破棄率は0%。RTTの最小/平均/最大/標準偏差はそれぞれ0.120/0.259/0.659/0.231msだった」 ことを表しています。これまで送信したパケットについての統計情報です。 ファイル構成 各ファイルの概要 pingフォルダ内のMakefile.am(automakeで使用するMakefileの種、みたいなもの)から抽出。ファイルはまだ他にもあるっぽいので、随時追加。 ファイル名 概要 ping.c ping_echo.c ping_address.c ping_router.c ping_timestamp.c ping_impl.h ping構成ソース全般でインクルードするヘッダファイル。マクロ(用途不明)と時間の統計情報を計算するための構造体が定義されている。 各ファイルのつながり 「ping IPアドレス -c 10」と実行した時の、pingの各ファイル間の構成は次のとおりです。エントリポイントはping.cです。 図の太い線は、Pingが送受信されるごとに関数がコールされているものを表しています。細い線は1回の実行において1回しか呼ばれません。 処理の流れ 基本的な処理の流れ(IPアドレスだけ指定したとき) 関数がどのようにコールされていくかを簡単な説明付きで記述してください。オプション解析→ping開始準備→送信→受信→情報出力という流れを関数コールと紐付けられればベターです。 関数のコールグラフ 「ping localhost -c 4」と実行したときの、関数のコールグラフはこれです。 このコールグラフはpvtraceで作成したトレース情報をgraphvizでグラフ化しています。 グラフ作成の元になったdotファイルは、ここからダウンロードできます。 モジュール構成図 コールグラフを元に、機能面で抽象化したときのモジュール構成図は以下のとおりです。 モジュール構成を図示してください パケット送信 pingプログラムがパケットを送信する時、どのように送信しているかをまとめます。 ソケットの操作 パケットフィールドへのセット パケット受信 pingプログラムがパケットを受信するとき、どのようにしているかをまとめます。 ソケットの操作 パケットフィールドからの情報取得 各関数の処理詳細 各関数の詳細は、長くなるので別ページping(内部関数説明)に記載してあります。 ただしこの章の優先度は低いです。調べていく中で余裕があるときに書いてください。 使用しているテクニック・パターン モジュール構成、デザインパターンや処理内容など、特筆すべき内容をここに書きます。 関数ポインタによるポリモーフィズム pingコマンドで送信するICMPメッセージが異なると、ヘッダ情報、ペイロード、格納データなどがそれぞれで異なります。この処理を1処理の中でswitch文などにより場合分けをしてもよいのですが、pingでは関数ポインタによって処理を分割・抽象化しています。 ping.cのmain()関数でオプションを解析している中で、オプションによってはdecode_type()関数をコールします。この関数では、引数で渡された文字列を見て次のようにping_type変数に関数ポインタを代入しています。 if (strcasecmp (optarg, "echo") == 0) ping_type = ping_echo; else if (strcasecmp (optarg, "timestamp") == 0) ping_type = ping_timestamp; else if (strcasecmp (optarg, "address") == 0) ping_type = ping_address; #if 0 else if (strcasecmp (optarg, "router") == 0) ping_type = ping_router; #endif 各関数と送信するICMPメッセージの種類は以下のとおりです。 メッセージ 使用関数 ICMP echoメッセージ ping_echo() ICMP timestampメッセージ ping_timestamp() ICMP addressメッセージ ping_address() ICMP router discoveryメッセージ(未対応) ping_router() ping_type変数はping.c内でグローバル変数として定義されています(グローバル変数なのはmain()とdecode_type()の2箇所で利用されるからなのですが、その程度ならmain()のローカル変数で済むようにしたほうがスマートな気がします)。 int (*ping_type) (int argc, char **argv) = ping_echo; int型のargc,char**型のargvの2引数を持つ関数へのポインタ(初期値はping_echo)、という意味です。 そして、main()ではオプションの解析が終了したあと最後に return (*ping_type)(argc, argv); とping_typeに格納された関数をコールして終わっています。ICMPメッセージの種別でコールする関数を分けたりしていません。 利点は、呼ばれた側では自分自身が行うべき処理のみを記述すれば良いためメンテナンス性や(関係ない他処理による)バグの混入を防げることです。もしこれを関数ポインタを使わないとしたら、冒頭に挙げた「ヘッダ情報、ペイロード、格納データ」それぞれについて場合分けをして設定処理を記述しなければいけませんので。 また、呼ぶ側の処理内容を統一できている点も利点の1つです。将来の処理追加に対して容易に対応できることが分かると思います。 static関数を別ファイルの関数からコールする static関数であったとしても、別ファイルの関数からコールすることが出来ます。 関数のコールグラフを見ると、ping_echo.cの関数echo_finish()はping.cの関数ping_run()からコールされています。しかし、echo_finish()の関数定義を見ると、 static int echo_finish (void); というようにstatic宣言されています。staticを関数に適用した場合、宣言されたファイルの外側からは見えなくなるのですが、なぜか別ファイルからコールできています。 これは、ping_run()に対してecho_finish()の関数ポインタを渡しているためです。 ping_echo (int argc, char **argv) { return ping_run (ping, echo_finish); } int ping_run (PING *ping, int (*finish)()) { if (finish) return (*finish)(); ping_echo()からping_run()呼ぶときに、echo_finishのアドレスが渡されています。これによりping_run()でもecho_finish()を呼ぶときはどのアドレスにジャンプすればよいかが分かるようになります(もちろん、ping_run()からecho_finish()を明示的にコールすることは出来ません)。 このように、関数ポインタを渡すことでstatic関数でも外部ソースファイルから参照・コールすることができます。関数を公開する範囲を限定することができる点が利点です。 後述するコールバック関数による疎結合の実現でも重要なテクニックです。 クロージャによる関数とデータの一括 まずここでのクロージャは、「関数コールに常に伴うデータ構造(状態保持可)」という意味で考えてください。クロージャ作成による外部データの束縛、というような意味ではないです。 ping_echo.cの関数ping_echo()で、次のように関数を呼んでいます。 ping_set_event_handler (ping, handler, ping_stat); この最後の引数ping_statが、libping.cでは(void*)closureとして扱われ、この後の処理には必ず付いて回るようになっています。つまり、データ構造が処理に束縛されているのと同じ状況になっているのです。 そして呼ばれる先々でデータ構造は更新されていき、分散や平均を求めるのに役立っているわけです。 コールバック関数による管理部と処理の分離 pingのソースは、 pingでのプロトコル動作を実現 → ping.c pingパケットの情報を表示 → ping_echo.c pingパケットのヘッダ部作成や実際の送受信 → libping.c というように、処理によってファイルが明確に分かれています。1はパケットを受信したときに何をするか(ここでは情報の表示)をするのみになっていて、スタート時にはこれら処理の関数ポインタをping.cからping_echo.cに登録し、その次はping_echo.cからlibping.cに処理を登録しています。 関数を直接呼ばず、下位層にイベントハンドルとして登録することで、上位層に変更があっても下位層には影響を受けない、という関係になります。依存方向が片方向に限定されるわけです。 粗結合なので、オプション次第で別のping_address.cやping_router.cに特定層を切り替えても問題はないわけです。 構造化プログラミングやオブジェクト指向プログラミングでも、こうした考えは重要ですので、ぜひマスターしたい知識です。 気づいた・面白い・分からない点 コードを読んでいく中で、気付いた点を以下に記します。 kato (2007/1/23)コマンド追加時にもできるだけ既存処理の修正が少なくなるように設計されているなあ。関数ポインタによる抽象化、コールバック関数によるイベントドリブン(もどき)、などなど。クロージャもある!いやいや、思っていたよりも構造化されていて、参考になるよコレ。思っていたよりも難しい、とも言えるわけだけど。 (2007/2/7)main()でコマンドオプションを解析するときに、struct option long_options[]に対して長いオプションのvalメンバを1文字のオプション文字で設定している。そうか、こうすることで長いオプションと(同じ機能を持つ)短いオプションとを同じcase文の中で扱えるのか。細かいけれど、面白いテクニックだ。 (2007/8/2)このプログラムでは、自動変数をヒープ変数のように使っていることに気がついた。ある関数から次の関数への自動変数の受け渡しがreturn文中での関数呼び出しと共に行われているせいで(末尾再帰チック)、読んだ先の処理が終わるまではスコープの中のままになり、逆にスコープを意識しないでも良いような状況になっている。しかも自動変数なので処理が終われば解放をしてくれて・・・。テクニックの1つだけど、これも面白い。クラスやクロージャ、RAIIなどを言語そのものが提供していなくても、同じ機能を実装するテクニックは、機能を理解する上では大事なことだな、と思ったり。 ichi 気づいた点を書いてください。箇条書きにこだわる必要はないです コメント ※他の人が書いた文章はいきなり修正せず、コメントやメールで一度連絡を取り合ってからにしましょう。あくまで仲良く。 pingはBIOS画面の時点でレスポンスって返ってくるものなのでしょうか?初歩的な質問となってしまうのですが宜しくお願いします。 -- アナスタシア (2007-07-27 08 37 25) 普通は返ってこないと思います。pingはカーネルの上で動く1つのサービスであって、ネットワークスタックが、もしくは少なくともEthernetデバイスドライバは動いていないといけません。しかしBIOSの段階ではとても基本的なことしかできず(http //community.osdev.info/?(AT)BIOS参照)、Ethernetデバイスが動いて、IPが動いて、というのは非現実的、というか無理だと思います。なので、BIOSでPingが返ってくるようなものは無いと思います。(「思います」口調なのは、WakeOnLANとかはどうなっているの?と言われるとよく分かってなくて・・・すみません)ちなみに逆に質問なのですが、どうしてそのような質問をされたんですか?面白い(興味深い)質問でしたので、ぜひ聞かせてください。 -- kato (2007-07-29 23 55 27) ( - )
https://w.atwiki.jp/ps3gehakote/pages/34.html
PS3専用ピンキー ◆/EFPinKYww 3匹いるピンキーマンのうちの次男。 ロスプラやウホのようなTPS、シミュレーションゲームが大好き。スイカの皮は捨てずにエバラ浅漬けの素で浅漬けにして食べる派。ゲームの特売情報をたまに持ってくる。 新しいピンキーマンが生まれた数分後に誕生したトリップにPINKYが入るピンキーマン。 口調は多少似ているもののほぼ無害。 PS3専用の由来はPS3しか持っていないからではなく、あくまでもPS3総合スレ専用だからとのこと。 実際には5機の次世代機をすべて所持しているが、据え置き機で稼動しているのはPS3のみで 3月の時点でPS3の本体2台、PS3のソフトを45本持っていると発言した。 日時不定期に書き込みを行っているので、1週間ぐらいまたはそれ以上行方不明になることがある。 語頭の特徴 おい! 語尾の特徴 (´・ω・`) ~すれば良いと思うよ PS3専用ピンキー sトロ部屋
https://w.atwiki.jp/ityo-go/pages/13.html
Ping 意味 ICMPを用いて任意の機器との疎通を確認 通信相手との往復にかかる時間を計測 ネットワークのMTU計測(ping -f -l 1472) 用法 最近○○ちゃんから、Pingの応答ないんだよね(´・ω・`)(メール送ったのにレスがない場合) ○○ちゃんにPing打ったんだけど、遅延がデカい(メール送ってから返信来るまでの間隔が長い) 備考 Pingの応答がない場合、エンドエンドではなく中間にある機器も被疑箇所である。中間機器を特定するにはTracerouteを行う パケットのドロップ、ロス、廃棄が発生しているかも(ファイアウォールなど) Pingを打つには相手のIPアドレスが必要(電話番号/メールアドレスなど) そのIPに到達するためのルーティングも必要(通信経路) IPアドレスを得るには、その前にMACアドレスが必要(別セグメントの場合はデフォゲのMAC)(名前とか?) MACアドレスがわからない場合は、ブロードキャストが必要(合コンに参加など) ブロードキャストを送るためにはLinkUpしていなければならない(とりあえずアクティブにならなきゃ!) 関連項目 Traceroute IPアドレス コメント